package com.dev.springBootDemo.generics9;

import java.util.ArrayList;
import java.util.List;

/**
 * @author zhumq
 * @date 2024/7/7 14:22
 */
public class TestGenerics {
    // public static void main(String[] args) {
    //     ArrayList<String> strings = new ArrayList<>();
    //     strings.add("张三");
    //     // 泛型擦除:将一个指定的泛型类型赋值给一个没有指定泛型类型的变量，就会发生泛型擦除
    //     ArrayList arrayList = strings;
    //     arrayList.add(1);
    // }

    public static void main(String[] args) {
        // 创建一个泛型列表，只允许存放 String 类型
        List<String> stringList = new ArrayList<>();
        stringList.add("Hello");
        stringList.add("World");
        Class<? extends List> aClass = stringList.getClass();
        // 创建一个泛型列表，只允许存放 Integer 类型
        List<Integer> integerList = new ArrayList<>();
        integerList.add(1);
        integerList.add(2);
        Class<? extends List> aClass1 = integerList.getClass();

        // 检查两个列表的类型是否相同
        System.out.println(stringList.getClass() == integerList.getClass()); //true
    }
}
